//package com.whxd.system.role.web;
//
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//
//import org.apache.log4j.Logger;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.servlet.ModelAndView;
//
//import com.fasterxml.jackson.core.JsonParseException;
//import com.fasterxml.jackson.databind.JsonMappingException;
//import com.sun.source.tree.Tree;
//import com.whxd.framework.common.dto.PageParam;
//import com.whxd.framework.common.dto.PageResult;
//import com.whxd.framework.common.dto.ReturnObject;
//import com.whxd.system.authority.web.AuthorityDto;
//import com.whxd.system.role.service.RoleService;
//
///**
// * 角色控制类
// * 
// * @author 张世鹏
// * @since 2013-6-15
// */
//@Controller
//@RequestMapping("/system/role")
//public class RoleCtrl {
//
//	private static Logger logger = Logger.getLogger(RoleCtrl.class);
//
//	@Autowired
//	private RoleService roleService;
//
//	/**
//	 * 分页查询所有角色
//	 * 
//	 * @author 张世鹏
//	 * @since 2013-8-9
//	 * @param page
//	 * @return
//	 * @throws JsonParseException
//	 * @throws JsonMappingException
//	 * @throws IOException
//	 */
//	@RequestMapping("/findAllByPage")
//	@ResponseBody
//	public PageResult<RoleDto> findAllByPage(PageParam page)
//			throws JsonParseException, JsonMappingException, IOException {
//		logger.info("分页查询所有角色");
//		PageResult<RoleDto> lst = roleService.findAllByPage(page);
//		return lst;
//	}
//
//	/**
//	 * 查询所有角色
//	 * 
//	 * @author 张世鹏
//	 * @since 2013-8-9
//	 * @return
//	 * @throws JsonParseException
//	 * @throws JsonMappingException
//	 * @throws IOException
//	 */
//	@RequestMapping("/findAll")
//	@ResponseBody
//	public PageResult<RoleDto> findAll() throws JsonParseException,
//			JsonMappingException, IOException {
//		logger.info("查询所有角色");
//		List<RoleDto> lst = roleService.findAll();
//		PageResult<RoleDto> result = new PageResult<RoleDto>();
//		result.setRows(lst);
//		result.setTotal(new Long(lst.size()));
//		return result;
//	}
//
//	/**
//	 * 根据角色id查询此角色的所有权限
//	 * 
//	 * @author 张世鹏
//	 * @since 2013-8-9
//	 * @param roleId
//	 * @return
//	 * @throws JsonParseException
//	 * @throws JsonMappingException
//	 * @throws IOException
//	 */
//	@RequestMapping("/findAuthorityByRoleId")
//	@ResponseBody
//	public PageResult<AuthorityDto> findAuthorityByRoleId(Long roleId)
//			throws JsonParseException, JsonMappingException, IOException {
//		logger.info("根据角色id查询此角色的所有权限");
//		PageResult<AuthorityDto> result = new PageResult<AuthorityDto>();
//		if (roleId != null) {
//			List<AuthorityDto> lst = roleService.findAuthorityByRoleId(roleId);
//			result.setRows(lst);
//			result.setTotal(new Long(lst.size()));
//		}
//		return result;
//	}
//
//	/**
//	 * 根据角色id查询此角色的所有菜单
//	 * 
//	 * @author 张世鹏
//	 * @since 2013-8-9
//	 * @param roleId
//	 * @return
//	 * @throws JsonParseException
//	 * @throws JsonMappingException
//	 * @throws IOException
//	 */
//	@RequestMapping("/findMenuTreeByRoleId")
//	@ResponseBody
//	public List<Tree> findMenuTreeByRoleId(Long roleId)
//			throws JsonParseException, JsonMappingException, IOException {
//		logger.info("根据角色id查询此角色的所有菜单");
//		List<Tree> lst = new ArrayList<Tree>();
//		if (roleId != null) {
//			lst = roleService.findMenuTreeByRoleId(roleId);
//		}
//		return lst;
//	}
//
//	@RequestMapping("/findById")
//	@ResponseBody
//	public ReturnObject findById(Long id) throws JsonParseException,
//			JsonMappingException, IOException {
//		logger.info("根据" + id + "查询角色");
//		RoleDto dto = roleService.findById(id);
//		ReturnObject object = new ReturnObject();
//		object.setObj(dto);
//		return object;
//	}
//
//	@RequestMapping("/delete")
//	@ResponseBody
//	@RolesAllowed(AuthorityDefine.AUTH_SYS_ROLE_MANAGE)
//	public ReturnObject delete(String ids) throws JsonParseException,
//			JsonMappingException, IOException {
//		logger.info("删除角色");
//		ReturnObject object = new ReturnObject();
//		roleService.deleteBatch(ids);
//		object.setSuccess(true);
//		object.setMsg("删除成功");
//		return object;
//	}
//
//	@RequestMapping("/toAdd")
//	@RolesAllowed(AuthorityDefine.AUTH_SYS_ROLE_MANAGE)
//	public ModelAndView toAdd() {
//		return new ModelAndView("/pages/system/role/edit");
//	}
//
//	@RequestMapping("/toEdit")
//	@RolesAllowed(AuthorityDefine.AUTH_SYS_ROLE_MANAGE)
//	public ModelAndView toEdit(Long id) {
//		RoleDto dto = roleService.findById(id);
//		return new ModelAndView("/pages/system/role/edit", "role", dto);
//	}
//
//	@RequestMapping("/toGrantMenu")
//	@RolesAllowed(AuthorityDefine.AUTH_SYS_ROLE_MANAGE)
//	public ModelAndView toGrantMenu(Long roleId) {
//		RoleDto dto = roleService.findById(roleId);
//		return new ModelAndView("/pages/system/role/grantMenu", "role", dto);
//	}
//
//	@RequestMapping("/toGrantAuth")
//	@RolesAllowed(AuthorityDefine.AUTH_SYS_ROLE_MANAGE)
//	public ModelAndView toGrantAuth(Long roleId) {
//		RoleDto dto = roleService.findById(roleId);
//		return new ModelAndView("/pages/system/role/grantAuth", "role", dto);
//	}
//
//	@RequestMapping("/save")
//	@ResponseBody
//	@RolesAllowed(AuthorityDefine.AUTH_SYS_ROLE_MANAGE)
//	public ReturnObject save(RoleDto dto) {
//		ReturnObject result = new ReturnObject();
//		if (dto.getId() == null) {
//			logger.info("增加角色");
//			roleService.add(dto);
//			result.setSuccess(true);
//			result.setMsg("增加成功！");
//		} else {
//			logger.info("编辑");
//			roleService.update(dto);
//			result.setSuccess(true);
//			result.setMsg("更新成功！");
//		}
//		return result;
//	}
//
//	/**
//	 * 给角色授权菜单
//	 * 
//	 * @author 张世鹏
//	 * @since 2013-8-9
//	 * @param dto
//	 * @return
//	 */
//	@RequestMapping("/grantMenu")
//	@ResponseBody
//	@RolesAllowed(AuthorityDefine.AUTH_SYS_ROLE_MANAGE)
//	public ReturnObject grantMenu(RoleDto dto) {
//		ReturnObject result = new ReturnObject();
//		roleService.grantMenu(dto);
//		result.setSuccess(true);
//		result.setMsg("菜单授权成功！");
//		return result;
//	}
//
//	/**
//	 * 给角色需要的权限
//	 * 
//	 * @author 张世鹏
//	 * @since 2013-8-9
//	 * @param dto
//	 * @return
//	 */
//	@RequestMapping("/grantAuth")
//	@ResponseBody
//	@RolesAllowed(AuthorityDefine.AUTH_SYS_ROLE_MANAGE)
//	public ReturnObject grantAuth(RoleDto dto) {
//		ReturnObject result = new ReturnObject();
//		roleService.grantAuth(dto);
//		result.setSuccess(true);
//		result.setMsg("权限授权成功！");
//		return result;
//	}
//}
